"""
演示默认情况下，主线程会等待所有的子线程执行结束后，才会结束，

问：如何实现主线程不等待子线程执行结束，就直接结束？
    可以通过设置守护线程的方式，来实现主线程不等待子线程执行结束，就直接结束。
设置方式：
    1：通过创建线程的时候，设置daemon=True
    2：通过线程对象名.setDaemon() 函数来实现
"""
# 演示：创建一个子线程，执行完成大概需要2秒钟，而父线程执行完需要1秒钟，实现该需求，观察结果
import time,threading

# 定义一个函数work(), 模拟一个耗时操作表示子线程要执行的函数
def work():
    for i in range(10):
        print(f"子线程正在执行...{i}")
        time.sleep(0.2) # 总执行耗时2秒

if __name__ == '__main__':
    # 创建一个线程对象
    # th = threading.Thread(target=work, daemon=True)
    th = threading.Thread(target=work)
    th.setDaemon(True)

    # 启动线程
    th.start()